package cn.wx.scholar.core.mapper;

import cn.wx.scholar.core.entity.AuthorFosMapping;
import cn.wx.scholar.core.entity.ScholarFos;
import cn.wx.scholar.core.entity.view.ScholarFosView;

import java.util.List;
import java.util.Set;

import org.apache.ibatis.annotations.Param;
import cn.wx.common.persistence.base.SimpleMapper;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author  
 * @since 2018-09-25
 */
public interface ScholarFosMapper extends SimpleMapper<ScholarFos> {
	
	/**
	 * 子父领域查询
	 * @param fosId
	 * @return
	 */
	List<ScholarFos> fosPac(@Param(value="fosId")Long fosId);
	
	List<ScholarFos> fosPac1(@Param(value="fosId")Long fosId);
	
	List<ScholarFosView> fosPacIn(@Param(value="pfosIds")Set<Long> pfosIds);
	
	
	/**
	 * 相似领域查询
	 * @param fosId
	 * @return
	 */
	List<ScholarFos> fosRelative(@Param(value="fosId")Long fosId);
	
	/**
	 * 根据领域的名称 换取id
	 * @param foses
	 * @return
	 */
	Long queryIdByFname(@Param(value="fName")String fName);
	
	/**
	 * 根据领域的名称集合 获取对象
	 * @param foses
	 * @return
	 */
	List<ScholarFos> queryFosByName(@Param(value="foses")Set<String> foses);
	
	/**
	 * 根据领域的名称集合 换取id
	 * @param foses
	 * @return
	 */
	List<Long> queryFosIdByName(@Param(value="foses")List<String> foses);
	
	
	/**
	 * 批量插入
	 * @param tat
	 * @param tas
	 */
	void modifyBeatchWtihTat(@Param(value="tat")String tat,@Param(value="list")List<AuthorFosMapping> list);
}
